#include "renderableobject.h"
#include "renderqueue.h"
#include "../font/glfont.h"
//#include "../Renderer/GLcamera.h"
#include "../ResourceManagement/Imagelib.h"

class GLfrustum;
class ShaderPack;

class CSceneManager : public IRenderable
{
public:
	ILimage * m_heightmap;
	CSceneManager();//ctor

	ShaderPack *m_shader;//Shade the landscape
	CRenderQueue m_renderables;//render queue contains the object which required to be render
	IRenderable* m_root;//root for quad tree
	GLfont *m_font;
	void Draw();
	void Render();
	void AttachFont(GLfont*);
	void ExtractRenderables(GLfrustum&);
	void Clear();
public:
	~CSceneManager();
public:
	void BuildQuadTree(const char * pFilename);
};